﻿using System.Configuration;

namespace Framework.Helper
{
    public static class ConfigurationHelper
    {
        public static string GetConfiguration(string cfg, string defaultValue)
        {
            var value = ConfigurationManager.AppSettings[cfg];
            if (string.IsNullOrWhiteSpace(value)) return defaultValue;

            return value.Trim();
        }

        public static string GetConfiguration(string cfg)
        {
            return GetConfiguration(cfg, string.Empty);
        }

        public static bool GetBoolean(string cfg, bool defaultValue)
        {
            var value = GetConfiguration(cfg);
            if (string.IsNullOrWhiteSpace(value)) return defaultValue;

            bool booleanValue;
            if (bool.TryParse(value, out booleanValue))
            {
                return booleanValue;
            }

            return defaultValue;
        }

        public static int GetInteger(string cfg, int defaultValue)
        {
            var value = GetConfiguration(cfg);
            if (string.IsNullOrWhiteSpace(value)) return defaultValue;

            int integerValue;
            if (int.TryParse(value, out integerValue))
            {
                return integerValue;
            }

            return defaultValue;
        }
    }
}
